前面,我们已经知道了,如何去编写 powershell 脚本,今天我们就一起来看看,其他的功能。通过这些功能来丰富我们的脚本。
首先我们来看一下 Function。和其他编程语言一样,Powershell 也提供了 function 功能,通过该功能,我们可以在不同的场景中,重复使用我们的脚本。
下面我们来看一个具体的示例:
# 编写一个名为 test-net 的函数
function test-net {
foreach ($computer in $args) {
$ping = Test-NetConnection -ComputerName $computer -InformationLevel Quiet
if ($ping){
Write-Output $ping
} else {
Write-Output $ping
}
}
}
调用 test-net 函数,并传递参数
test-net www.bing.com
我们还可以像运行 powershell 命令一样,运行我们的函数,并且给它传递参数,实现 -verbose 功能。
下面我们来看一下具体的示例:
function test-net {
[cmdletbinding()] # 通过 cmdletbinding() 实现函数的高级功能
param( # 指定具体的参数
[string[]]$computerName # 参数的名称,以及数据类型,[] 该数据是一个数组(有多个参数)
)
foreach ($computer in $computerName) {
Write-Verbose "Now testing $computer." # 加 -verbose 才会被输出
$ping = Test-NetConnection -ComputerName $computer -InformationLevel Quiet -WarningAction SilentlyContinue
if ($ping){
Write-Output $ping
} else {
Write-Verbose "Ping failed on $computer. Check the network connection."
Write-Output $ping
}
}
}
在 Powershell ISE 下面的命令行窗口中输入:
PS C:\Users\v-peizhiyu> test-net -computerName www.bing.com -Verbose
VERBOSE: Now testing www.bing.com.
True